Full-motion video displays based upon analog video signals have long been available in the form of television. With recent increases in computer processing capabilities and affordability, full-motion video displays based upon digital video signals are becoming more widely available. Digital video systems can provide significant improvements over conventional analog video systems in creating, modifying, transmitting, storing, and playing full-motion video sequences.
Digital video displays include large numbers of image frames that are played or rendered successively at frequencies of between 30 and 75 Hz. Each image frame is a still image formed from an array of pixels according to the display resolution of a particular system. As examples, VHS-based systems have display resolutions of 320.times.480 pixels, NTSC-based systems have display resolutions of 720.times.486 pixels, and high-definition television (HDTV) systems under development have display resolutions of 1360.times.1024 pixels.
The amounts of raw digital information included in video sequences are massive. Storage and transmission of these amounts of video information is infeasible with conventional personal computer equipment. With reference to a digitized form of a relatively low resolution VHS image format having a 320.times.480 pixel resolution, a full-length motion picture of two hours in duration could correspond to 100 gigabytes of digital video information. By comparison, conventional compact optical disks have capacities of about 0.6 gigabytes, magnetic hard disks have capacities of 1-2 gigabytes, and compact optical disks under development have capacities of up to 8 gigabytes.
In response to the limitations in storing or transmitting such massive amounts of digital video information, various video compression standards or processes have been established, including MPEG-1, MPEG-2, and H.26X. These conventional video compression techniques utilize similarities between successive image frames, referred to as temporal or interframe correlation, to provide interframe compression in which pixel-based representations of image frames are converted to motion representations. In addition, the conventional video compression techniques utilize similarities within image frames, referred to as spatial or intraframe correlation, to provide intraframe compression in which the motion representations within an image frame are further compressed. Intraframe compression is based upon conventional processes for compressing still images, such as discrete cosine transform (DCT) encoding.
Although differing in specific implementations, the MPEG-1, MPEG-2, and H.26X video compression standards are similar in a number of respects. The following description of the MPEG-2 video compression standard is generally applicable to the others.
MPEG-2 provides interframe compression and intraframe compression based upon square blocks or arrays of pixels in video images. A video image is divided into transformation blocks having dimensions of 16.times.16 pixels. For each transformation block T.sub.N in an image frame N, a search is performed across the image of a next successive video frame N+1 or immediately preceding image frame N-1 (i.e., bidirectionally) to identify the most similar respective transformation blocks T.sub.N+1 or T.sub.N-1.
Ideally, and with reference to a search of the next successive image frame, the pixels in transformation blocks T.sub.N and T.sub.N+1 are identical, even if the transformation blocks have different positions in their respective image frames. Under these circumstances, the pixel information in transformation block T.sub.N+1 is redundant to that in transformation block T.sub.N. Compression is achieved by substituting the positional translation between transformation blocks T.sub.N and T.sub.N+1 for the pixel information in transformation block T.sub.N+1. In this simplified example, a single translational vector (.DELTA.X,.DELTA.Y) is designated for the video information associated with the 256 pixels in transformation block T.sub.N+1.
Frequently, the video information (i.e., pixels) in the corresponding transformation blocks T.sub.N and T.sub.N+1 are not identical. The difference between them is designated a transformation block error E, which often is significant. Although it is compressed by a conventional compression process such as discrete cosine transform (DCT) encoding, the transformation block error E is cumbersome and limits the extent (ratio) and the accuracy by which video signals can be compressed.
Large transformation block errors E arise in block-based video compression methods for several reasons. The block-based motion estimation represents only translational motion between successive image frames. The only change between corresponding transformation blocks T.sub.N and T.sub.N+1 that can be represented are changes in the relative positions of the transformation blocks. A disadvantage of such representations is that full-motion video sequences frequently include complex motions other than translation, such as rotation, magnification and shear. Representing such complex motions with simple translational approximations results in the significant errors.
Another aspect of video displays is that they typically include multiple image features or objects that change or move relative to each other. Objects may be distinct characters, articles, or scenery within a video display. With respect to a scene in a motion picture, for example, each of the characters (i.e., actors) and articles (i.e., props) in the scene could be a different object.
The relative motion between objects in a video sequence is another source of significant transformation block errors E in conventional video compression processes. Due to the regular configuration and size of the transformation blocks, many of them encompass portions of different objects. Relative motion between the objects during successive image frames can result in extremely low correlation (i.e., high transformation errors E) between corresponding transformation blocks. Similarly, the appearance of portions of objects in successive image frames (e.g., when a character turns) also introduces high transformation errors E.
Conventional video compression methods appear to be inherently limited due to the size of transformation errors E. With the increased demand for digital video display capabilities, improved digital video compression processes are required.
A difficulty with conventional video compression standards such as MPEG-1 and MPEG-2 is that the translational motion vectors of adjacent pixel blocks frequently differ. These motion vector differences can introduce discontinuities in the estimated motion of closely-positioned pixels in different transformation blocks. These discontinuities, which arise from using the transformation block motion to estimate pixel motion, introduce additional error into compressed representations.
More specifically, the transformation blocks are used to provide motion compensation that estimates temporal correlation between corresponding pixels in successive image frames. Even slight differences in the translational motion vectors for adjacent transformation blocks cause discontinuities between the pixels in adjacent blocks. The discontinuities are particularly acute for pixels near the boundaries of the transformation blocks and can cause artifacts that are perceptible when the image is reconstructed or decompressed. The artifacts are errors and, like any other encoding errors, must be communicated as additional information that decreases the overall compression efficiency and increases the required bitrate.
To reduce the encoding errors arising from discontinuities between adjacent transformation blocks in the MPEG-1 and MPEG-2 video compression standards, the H.26X (specifically H.263) video compression standard utilizes a type of antialiasing. The H.26x video compression method reduces encoding errors by computing for each pixel in a transformation block a translational prediction value based upon weighted translational motion vectors for up to three transformation blocks; the transformation block containing the pixel and two other transformation blocks nearest the pixel.
In accordance with the H.263 video compression standard, the computed translational prediction value for each pixel is weighted heaviest toward the translational motion vector of the transformation block containing the pixel (e.g. 50%-75%), with the actual weighting varying according to the proximity of the pixel to the two nearest transformation blocks. Such weighting of the translational vectors of adjacent transformation blocks provides antialiasing that effectively overlaps the effects of adjacent transformation blocks and decreases the apparent discontinuities that arise at the boundaries of the transformation blocks.
Like other conventional video compression standards, however, the H.263 video compression standard is incapable of distinguishing different objects within the video scene. As a consequence, the weighted computation of pixel values according to the translational motion of multiple transformation blocks can actually introduce additional error when the adjacent pixel blocks encompass an object different from that of the selected pixel. As a consequence, object-based encoding or compression methods forego the antialiasing benefits of overlapped motion compensation of the type used in the H.263 video compression standard to avoid the introduction of additional errors at object boundaries.